#ifndef __FD_
#define __FD_

#if defined __SHAPI
#undef __SHAPI
#endif

#define __SHAPI __stdcall

#if defined DLL_EXP
#undef DLL_EXP
#endif

#if defined(_AFXDLL)||defined(_USRDLL)
#define DLL_EXP __declspec(dllexport) 
#elif defined(_MSC_VER)&&(_MSC_VER<1200)
#define DLL_EXP __declspec(dllimport) 
#else
#define DLL_EXP
#endif

typedef struct F_Rect
{
	short int left;
	short int top;
	short int width;
	short int height;
}FRect;

typedef FRect FacePos;


typedef struct _EyeInfo
{
	short int leftx;
	short int lefty;
	short int rightx;
	short int righty;
}EyeInfo;

typedef struct FSize
{
	short int width;
	short int height;
}FSize;


#if defined __cplusplus
extern "C" 
{
#endif

	DLL_EXP int __SHAPI FD_Init();

	DLL_EXP  void __SHAPI FD_Uninit();

	DLL_EXP  int __SHAPI FD_Face( const unsigned char  * pImageData,\
									unsigned short         uWidth, \
									unsigned short         uHeight, \
									int                   * pnFaceNum, \
									FacePos               * pfiFace,\
									EyeInfo               * piiPos=0, \
									double                fScale=1.1, \
									const FSize          * pminVal=0, \
									const FSize          * pmaxVal=0 );

	DLL_EXP int __SHAPI FD_Eye( const unsigned char * pImageData, \
								unsigned short      uWidth, \
								unsigned short      uHeight, \
								FacePos             pfiFace,\
								EyeInfo             * piiPos=0, \
								const FSize         * pminVal=0, \
								const FSize         * pmaxVal=0  );
#ifdef __cplusplus
}
#endif

#endif 





